import book.BookList;
import user.AdminUser;
import user.NormalUser;
import user.User;

import java.util.Scanner;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 黎鹤舞
 * Date: 2023-11-21
 * Time: 11:35
 */

//这里是主函数，用于实现程序整体的逻辑流程
public class Main {

    //登录函数
    public static User login() {                    //向上转型，返回AdminUser/NormalUser 的父类User
        System.out.println("请输入你的姓名:");
        Scanner scanner = new Scanner(System.in);
        String name = scanner.nextLine();
        //实现用户身份的选择
        System.out.println("请输入你的身份:    1.管理员   2.普通用户->");
        int choice = scanner.nextInt();
        if(choice == 1) {
            return new AdminUser(name);
        }else {
            return new NormalUser(name);
        }

    }

    public static void main(String[] args) {

        //书架上默认存在的书籍信息:
        //创建书架对象
        BookList bookList =  new BookList();


        //此时发生了向上转型:存在如下可能
        //User user = new AdminUser(name);
        //User user = new NormalUser(name);
        User user = login();                //此时user的身份已经确定！
        //动态绑定:根据菜单的选择进行操作
        int choice = 1;
        while (true) {
            choice = user.menu();           //这里的choice表示的是选择根据对应的用户菜单选择操作
            user.doOperation(choice,bookList);
        }

    }
}
